﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ProjetoComperio.DataLayer.Entities
{
    public class Contribution
    {
        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual int ContributionID { get; set; }

        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual String SourceInfo { get; set; }

        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual DateTime RegisterDate { get; set; }

        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual String Title { get; set; }

        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual String Description { get; set; }

        [Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ErrorMessages))]
        public virtual Int32 AcademicPersonID { get; set; }
        public virtual AcademicPerson AcademicPerson { get; set; }

        public virtual ICollection<Context> Contexts { get; set; }

        public virtual ICollection<KnowledgeArea> KnowledgeAreas { get; set; }

        public virtual ICollection<Subject> Subjects { get; set; }

        public virtual ICollection<AcademicPerson> AcademicPeople { get; set; }

        public virtual ICollection<ContributionItem> ContributionItems { get; set; }

    }
}
